package com.xiaoshuidi.cloud.module.member.api.message.dto;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.experimental.Accessors;

import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.time.LocalDate;

@Data
@Accessors(chain = true)
public class MemberMessageDTO implements Serializable {
    private static final long serialVersionUID = -845526869701014062L;

    @Schema(description = "管家id或租客id")
    private Long userId;

    @Schema(description = "消息内容")
    @NotNull(message = "消息内容不能为空")
    private String content;

    @Schema(description = "消息类型1评价2通知")
    @NotNull(message = "消息类型不能为空")
    private Integer type;

//    @Schema(description = "消息来源1pc2管家端3租客端")
//    @NotNull(message = "消息来源不能为空")
//    private Integer source;

    @Schema(description = "消息指向1广播2管家个人3租客个人")
    @NotNull(message = "消息指向不能为空")
    private Integer destination;

    @Schema(description = "1未读2已读")
    @NotNull(message = "消息状态不能为空")
    private Integer status;

    @Schema(description = "消息创建人消息来源")
    @NotNull(message = "消息创建人不能为空")
    private String creator;

    @Schema(description = "是否已评价1已评价0未评价")
    private Boolean isEvaluated;

    //发送消息类型是评价时，需要带评价需要信息
    @Schema(description = "管家id")
    private Long stewardId;

    @Schema(description = "管家")
    private String steward;

    @Schema(description = "评价专用 评价类型1-新租,2-续租,3-退租,4-企业入住人评价,5-员工迁出评价")
    private Integer commentType;

    @Schema(description = "公寓名称")
    private String apartmentName;
    @Schema(description = "房间id")
    private Long roomId;
    @Schema(description = "签约日期")
    private LocalDate signDay;

}
